package org.example.servicecounselor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.model.manage.bean.po.Counselor;
import org.example.model.manage.bean.po.security.User;
import org.example.model.manage.bean.vo.CounselorRegisterRequest;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 *  辅导员服务接口
 * </p>
 *
 * @author author
 * @since 2025-07-16
 */
public interface CounselorService extends IService<Counselor> {

    /**
     * 根据ID查询辅导员
     * @param id 辅导员ID
     * @return 辅导员信息
     */
    Counselor getCounselorById(Integer id);

    /**
     * 根据名称查询辅导员
     * @param name 辅导员姓名
     * @return 辅导员信息
     */
    Counselor getCounselorByName(String name);

    /**
     * 根据学院名称查询辅导员列表
     * @param facultyName 学院名称
     * @return 辅导员列表
     */
    List<Counselor> getCounselorsByFacultyName(String facultyName);

    /**
     * 根据学院ID查询辅导员列表
     * @param facultyId 学院ID
     * @return 辅导员列表
     */
    List<Counselor> getCounselorsByFacultyId(Integer facultyId);

    /**
     * 更新辅导员信息
     * @param counselor 辅导员信息
     * @return 更新后的辅导员信息
     */
    Counselor updateCounselor(Counselor counselor);

    /**
     * 创建用户账号
     * @param user 用户信息
     * @return 创建后的用户信息
     */
    User createUser(User user);
}
